/***********************************************
 * Filename:  		Material.h
 * Date:      		???
 * Mod. Date: 		???
 * Mod. Initials:	MVP
 * Author:    		Mikeal V. Perry
 * Purpose:   		Uniform data for shaders
 ************************************************/

#ifndef _MATERIAL_H
#define _MATERIAL_H

#include <d3dx9math.h>

struct TMaterial
{
	D3DXMATRIX m_d3dObjectMatrix;		// The object's matrix. Needs to be updated to the object's current matrix every update
	D3DXHANDLE m_hParameters;			// The handle to our parameter block for this material
	
	// IDs used by the numerous objects. All start with defaults
	int m_nDiffuseID;		// The index of the diffuse texture
	int m_nEmissiveID;		// The index of the emissive texture
	int m_nSpecularID;		// The index of the specular texture
	int m_nNormalID;		// The index of the normal texture
	int m_nCubeMapID;		// The index of the cube map
	/*directional light	vector of ids (perhaps? store DLs in Renderer?)
	point lights		^ Same as above?
	shadow map			id
	*/
};
#endif